package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;
import com.ruoyi.system.domain.CreditNews;

/**
 * 新闻资讯Service接口
 * 
 * @author ruoyi
 * @date 2025-01-28
 */
public interface ICreditNewsService 
{
    /**
     * 查询新闻资讯
     * 
     * @param newsId 新闻资讯主键
     * @return 新闻资讯
     */
    public CreditNews selectCreditNewsByNewsId(Long newsId);

    /**
     * 查询新闻资讯列表
     * 
     * @param creditNews 新闻资讯
     * @return 新闻资讯集合
     */
    public List<CreditNews> selectCreditNewsList(CreditNews creditNews);

    /**
     * 新增新闻资讯
     * 
     * @param creditNews 新闻资讯
     * @return 结果
     */
    public int insertCreditNews(CreditNews creditNews);

    /**
     * 修改新闻资讯
     * 
     * @param creditNews 新闻资讯
     * @return 结果
     */
    public int updateCreditNews(CreditNews creditNews);

    /**
     * 批量删除新闻资讯
     * 
     * @param newsIds 需要删除的新闻资讯主键集合
     * @return 结果
     */
    public int deleteCreditNewsByNewsIds(Long[] newsIds);

    /**
     * 删除新闻资讯信息
     * 
     * @param newsId 新闻资讯主键
     * @return 结果
     */
    public int deleteCreditNewsByNewsId(Long newsId);

    /**
     * 查询已发布的新闻资讯列表
     * 
     * @param creditNews 新闻资讯查询条件
     * @return 新闻资讯集合
     */
    public List<CreditNews> selectPublishedNewsList(CreditNews creditNews);

    /**
     * 阅读新闻资讯（增加浏览量）
     * 
     * @param newsId 新闻ID
     * @return 新闻资讯
     */
    public CreditNews readNews(Long newsId);

    /**
     * 获取新闻统计信息
     * @return 新闻统计数据
     */
    public Map<String, Object> getNewsStats();
}